1 Como reproduzir

  1. Versão do R: 4.3+
  2. Render: rmarkdown::render("Analise Transporte.Rmd") (ou knit no RStudio)
  3. Ambiente: veja sessionInfo() no fim do documento.
  4. (Opcional) Congele versões com renv::init() e renv::snapshot().
# Ajustes globais (não altera sua análise)
knitr::opts_chunk$set(fig.width = 6, fig.height = 4, dpi = 150, echo = TRUE)
set.seed(123)

2 Bases, origem e validação

Nome Arquivo local Origem oficial (link) Data de acesso
Censo censo.xlsx _https://www.data.rio/apps/0486a2d8fdb241d68395c24e662c48bb/explore_ 2025-10-04
Estações estacoes.xlsx _https://www.data.rio/documents/7f3d332baf2f499abc6a0742fce56bec/about_ 2025-10-04
Massa salarial massa_salarial.xlsx _https://www.data.rio/documents/f6bb333c4a9b4327bec7225c450e41ee/about_ 2025-10-04
Shapefile estações estacoes_metro/Estações_Metrô.shp _https://www.data.rio/datasets/7a0b22723c5a458faaae79f046163504_19/explore_ 2025-10-04
Shapefile trajetos trajetos_metro/Trajetos_Metrô.shp _https://www.data.rio/datasets/df17c658dc9c4c3b82b964822f60b98f_18/explore_ 2025-10-04

Validação (resuma aqui): Foram coletados bases de dados disponibilizados pelo DataRio com o objetivo de ter um panorâma sobre a distribuição do fluxo de passageiros nas linhas de metrô no municipio do Rio de Janeiro.

3 Alterações Prévias e Agrupando os dados

# Definir o mirror do CRAN (Brasil ou outro confiável)
options(repos = c(CRAN = "https://cran.r-project.org"))

knitr::opts_knit$set(root.dir = dirname(rstudioapi::getActiveDocumentContext()$path))
knitr::opts_chunk$set(echo = TRUE)
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
library(readr)
library(readxl)
library(janitor)
library(dplyr)

censo <- read_excel("censo.xlsx")
estacoes <- read_excel("estacoes.xlsx")
massa <- read_excel("massa_salarial.xlsx")

As três bases utilizadas — Censo, Estações e Massa Salarial — possuem informações complementares sobre os bairros do Rio de Janeiro. Cada uma apresenta uma dimensão específica:

  • Censo (censo.xlsx): fornece dados populacionais e domiciliares por bairro;
  • Estações (estacoes.xlsx): contém o número de passageiros embarcados em cada estação de metrô, com o respectivo bairro;
  • Massa Salarial (massa_salarial.xlsx): traz a soma da remuneração paga a trabalhadores formais por bairro.

Para realizar as análises, foi necessário integrar essas três tabelas em uma única base consolidada. O campo comum entre elas é o nome do bairro, que funciona como chave de junção.

Desse modo, o dataframe final nosso ficou com as seguintes colunas de cada tabela:

Nome Origem
Estacao estacoes.xlsx
Bairro estacoes.xlsx
Linha estacoes.xlsx
Passageiros_2022 estacoes.xlsx
Populacao_2022 censo.xlsx
Domicilios_2022 censo.xlsx
AP massa_salarial.xlsx
RP massa_salarial.xlsx
GR massa_salarial.xlsx
Massa_salarial_2021 massa_salarial.xlsx
names(estacoes) <- janitor::make_clean_names(names(estacoes))
df <- estacoes[, c("estacao", "bairro", "linha", "x2022")]
df <- df %>%
  inner_join(
    censo %>% select(bairro = nome, Total_de_pessoas_2022, Total_de_domicilios_2022),
    by = "bairro"
  )
df <- df %>%
  inner_join(
    massa %>% select(bairro = Bairros, AP, RP, Grupo, `2021`),
    by = "bairro"
  )
colnames(df) <- c(
  "Estacao", "Bairro", "Linha", "Passageiros_2022",
  "Populacao_2022", "Domicilios_2022",
  "AP", "RP", "GR", "Massa_salarial_2021"
)
df$Passageiros_2022 <- df$Passageiros_2022 * 1000
library(gt)
df %>% 
  head(5) %>% 
  gt()
Estacao Bairro Linha Passageiros_2022 Populacao_2022 Domicilios_2022 AP RP GR Massa_salarial_2021
Uruguai Tijuca 1 4395000 142326 70928 2 2 8 102001787
Saens Peña Tijuca 1 5320000 142326 70928 2 2 8 102001787
São Francisco Xavier Tijuca 1 1914000 142326 70928 2 2 8 102001787
Afonso Pena Tijuca 1 2080000 142326 70928 2 2 8 102001787
Estácio Estácio 1 1858000 23260 8894 1 1 3 15726953

4 Análise dos dados

4.1 Visualização inicial

A etapa de análise teve como ponto de partida a compreensão do funcionamento e da distribuição das linhas do metrô do Rio de Janeiro, observando como a presença e o fluxo de passageiros nas estações se relacionam com características socioeconômicas dos bairros.

A ideia central foi avaliar se fatores demográficos e econômicos ajudam a explicar a variação no número de passageiros.
Para isso, três dimensões principais foram consideradas:

  1. População do bairro — bairros mais populosos tendem a gerar maior demanda por transporte público, o que pode refletir diretamente no número de embarques registrados nas estações próximas.
  2. Massa salarial do bairro — representa o volume de renda formal gerada. A hipótese é que áreas com maior massa salarial concentram atividades econômicas e empregos, atraindo mais deslocamentos diários.
  3. Número de passageiros por estação — variável operacional do sistema metroviário, utilizada como indicador do fluxo de pessoas.

A análise foi conduzida buscando correlações entre essas variáveis, especialmente:

  • A relação entre população e passageiros embarcados, para verificar se a densidade demográfica é o principal fator determinante do fluxo;
  • A relação entre massa salarial e passageiros embarcados, para investigar se a concentração de renda e de atividades econômicas nos bairros influencia o uso do metrô.

Essas correlações foram representadas visualmente em gráficos de dispersão e, quando necessário, acompanhadas de linhas de tendência linear (modelo de regressão) para facilitar a leitura das relações entre as variáveis.


Resumo Estatístico das Variáveis Selecionadas
Variável Média Mediana Mínimo Máximo
Passageiros_2022 4191950 3180000 566000 12573000
Populacao_2022 52298 26840 4745 142326
Massa_salarial_2021 391553196 83199203 1116655 3007140817

4.2 Correlação entre Passageiros e População (2022)

4.2.1 Correlação entre População do Bairro e Passageiros por Estação (2022)

O gráfico acima apresenta a relação entre a população total dos bairros e a quantidade de passageiros embarcados nas estações de metrô localizadas nesses mesmos bairros, considerando o ano de 2022.

Visualmente, observa-se uma tendência positiva, porém fraca, representada pela linha de regressão levemente ascendente.
O coeficiente de correlação calculado foi de aproximadamente 0,22, o que indica uma associação positiva de baixa intensidade entre as duas variáveis.

Em termos práticos, isso significa que bairros mais populosos tendem a registrar maior fluxo de passageiros, mas essa relação não é linear nem determinante.
Entre os pontos mais distantes na lateral direita do gráfico, destaca-se o bairro da Tijuca, que combina alta população com grande volume de embarques.
Essa região concentra várias estações importantes (como Saens Peña, Uruguai e Afonso Pena), além de conexões com linhas de ônibus, o que ajuda a explicar seu valor atípico.

Outros fatores também contribuem para a dispersão dos pontos e a baixa correlação geral, como:

  • A localização geográfica das estações e sua função de conexão interbairros;
  • A presença de polos comerciais e de serviços que atraem pessoas de outras regiões;
  • Diferenças socioeconômicas e de acesso a outros meios de transporte.

Em síntese, a análise mostra que, embora a população influencie o uso do metrô, o fluxo de passageiros depende fortemente da função urbana do bairro — no caso da Tijuca, um centro residencial e comercial de alta densidade e boa conectividade.

4.3 Correlação entre Passageiros e Massa Salarial (2022)

4.3.1 Correlação entre Massa Salarial do Bairro e Passageiros por Estação (2022)

O gráfico acima apresenta a relação entre a massa salarial total dos bairros — isto é, a soma dos salários pagos a trabalhadores formais — e a quantidade de passageiros embarcados nas estações de metrô localizadas nesses mesmos bairros, no ano de 2022.

Diferentemente da análise anterior, observa-se aqui uma correlação positiva mais forte, com coeficiente de aproximadamente 0,51.
A linha de tendência possui inclinação acentuada, indicando que bairros com maior massa salarial tendem a registrar volumes significativamente maiores de embarques.

Essa relação sugere que a atividade econômica e o poder aquisitivo local influenciam diretamente o fluxo de passageiros.
Bairros que concentram empresas, comércio e serviços — portanto, maior massa salarial — atraem trabalhadores e consumidores de outras regiões, gerando movimentos pendulares diários que elevam a demanda por transporte público.


Entre os pontos mais afastados na lateral direita do gráfico estão bairros de alta renda e concentração de empregos, como o Centro, que funcionam como polo econômico e de convergência de transporte urbano.
Essas áreas não apenas abrigam residentes com rendimentos elevados, mas também recebem um grande contingente de trabalhadores de outras zonas da cidade, o que explica seu destaque no gráfico.

Em contrapartida, bairros com massa salarial mais baixa mantêm fluxos mais modestos, ainda que possam ter populações expressivas — reforçando a ideia de que a dinâmica econômica local tem maior peso que o tamanho populacional na determinação do volume de passageiros.


Em síntese, os resultados indicam que a massa salarial apresenta correlação mais robusta com o uso do metrô do que a população, evidenciando que o transporte metroviário do Rio de Janeiro está fortemente associado à concentração de atividades econômicas e aos centros de emprego da cidade.

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.

5 Glossário de variáveis

A tabela consolidada utilizada nesta análise foi construída a partir da integração das três bases originais (estacoes.xlsx, censo.xlsx e massa_salarial.xlsx), resultando em dez variáveis principais:

Variável Descrição
Estacao Nome da estação de metrô considerada na análise. Cada linha do conjunto de dados representa uma estação localizada em determinado bairro.
Bairro Nome do bairro onde a estação está localizada. Utilizado como chave de integração entre as diferentes bases.
Linha Linha do metrô à qual a estação pertence (ex.: Linha 1 – Laranja, Linha 2 – Verde).
Passageiros_2022 Total de passageiros embarcados na estação ao longo de 2022 (em milhares). Representa o fluxo operacional do metrô.
Populacao_2022 População residente no bairro em 2022, conforme dados censitários. Utilizada para avaliar a relação entre densidade populacional e volume de passageiros.
Domicilios_2022 Número de domicílios particulares permanentes no bairro em 2022. Serve como indicador complementar de ocupação residencial.
AP Código de Área de Planejamento (AP) do município do Rio de Janeiro, utilizado pela Prefeitura para fins de planejamento urbano.
RP Código da Região de Planejamento (RP), subdivisão territorial que agrupa bairros com características semelhantes.
GR Código de Grupo Regional, relacionado a agrupamentos administrativos de bairros para análise socioeconômica.
Massa_salarial_2021 Soma dos salários pagos a trabalhadores formais no bairro durante o ano de 2021 (em reais). Indicador de atividade econômica e renda.

Essas variáveis foram harmonizadas por meio da chave “Bairro”, após limpeza e padronização dos nomes, possibilitando a análise integrada entre infraestrutura de transporte, população residente e dinâmica econômica dos bairros do Rio de Janeiro.

6 Referências e Ferramentas de IA

  • DataRio.
  • Base dos Dados / MTE-CAGED.
  • MetrôRio / Embarques por estação.
  • Aulas de R
  • Aulas de Estatística Descritiva.
  • ChatGPT (GPT‑5 Thinking).

7 Session info

sessionInfo()
## R version 4.5.1 (2025-06-13 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26100)
## 
## Matrix products: default
##   LAPACK version 3.12.1
## 
## locale:
## [1] LC_COLLATE=Portuguese_Brazil.utf8  LC_CTYPE=Portuguese_Brazil.utf8   
## [3] LC_MONETARY=Portuguese_Brazil.utf8 LC_NUMERIC=C                      
## [5] LC_TIME=Portuguese_Brazil.utf8    
## 
## time zone: America/Sao_Paulo
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] scales_1.4.0  plotly_4.11.0 sf_1.0-21     ggplot2_4.0.0 geobr_1.9.1  
##  [6] knitr_1.50    tibble_3.3.0  gt_1.0.0      dplyr_1.1.4   janitor_2.2.1
## [11] readxl_1.4.5  readr_2.1.5  
## 
## loaded via a namespace (and not attached):
##  [1] gtable_0.3.6       xfun_0.52          bslib_0.9.0        htmlwidgets_1.6.4 
##  [5] lattice_0.22-7     tzdb_0.5.0         crosstalk_1.2.2    vctrs_0.6.5       
##  [9] tools_4.5.1        generics_0.1.4     curl_7.0.0         proxy_0.4-27      
## [13] pkgconfig_2.0.3    Matrix_1.7-3       KernSmooth_2.23-26 data.table_1.17.8 
## [17] RColorBrewer_1.1-3 S7_0.2.0           lifecycle_1.0.4    compiler_4.5.1    
## [21] farver_2.1.2       stringr_1.5.1      snakecase_0.11.1   htmltools_0.5.8.1 
## [25] class_7.3-23       sass_0.4.10        yaml_2.3.10        lazyeval_0.2.2    
## [29] pillar_1.11.0      jquerylib_0.1.4    tidyr_1.3.1        classInt_0.4-11   
## [33] cachem_1.1.0       nlme_3.1-168       tidyselect_1.2.1   digest_0.6.37     
## [37] stringi_1.8.7      purrr_1.1.0        labeling_0.4.3     splines_4.5.1     
## [41] fastmap_1.2.0      grid_4.5.1         cli_3.6.5          magrittr_2.0.3    
## [45] e1071_1.7-16       withr_3.0.2        lubridate_1.9.4    timechange_0.3.0  
## [49] rmarkdown_2.29     httr_1.4.7         cellranger_1.1.0   hms_1.1.3         
## [53] evaluate_1.0.5     viridisLite_0.4.2  mgcv_1.9-3         rlang_1.1.6       
## [57] Rcpp_1.1.0         glue_1.8.0         DBI_1.2.3          xml2_1.4.0        
## [61] rstudioapi_0.17.1  jsonlite_2.0.0     R6_2.6.1           fs_1.6.6          
## [65] units_0.8-7